#ifndef READ_PRIMITIVES_
#define READ_PRIMITIVES_

#include <stdint.h>
#include "defs.h"
int buffer_copy(uint32_t surface_src, uint32_t surface_dst, uint32_t copy_size);

int readback_surface(uint32_t surface_id);

int read_from_transfer_buffer(struct exploit_context *ctx, uint8_t *buf, uint64_t size);

int arbitrary_read(struct exploit_context* ctx, uint64_t addr, uint8_t *contents, uint32_t size);

int read_corrupted_mob(struct exploit_context *ctx);

#endif
